package jfrederick8;

import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;

/**
 * Establishes required methods for any of the control states. (i.e. clicked on friendly, hovering over enemy)
 * 
 * @author John Frederick
 * @version 1.0 - 12 February 2012
 */
public interface Control {
	/**
	 * should initialize the controller so that it can receive control from the controller before it
	 */
	public void initControl();
	
	/**
	 * relinquishes control back to the control state prior to this
	 */
	public void closeControl();
	
	/**
	 * tracks the mouse movement
	 * 
	 * @param arg0 any mouse eventt
	 */
	public void mouseMoved(MouseEvent arg0);
	
	/**
	 * tracks clicking of mouse
	 * 
	 * @param arg0 any mouse event
	 */
	public void mouseClicked(MouseEvent arg0);
	
	/**
	 * tracks pressing of keys
	 * 
	 * @param event any key event
	 */
	public void keyPressed(KeyEvent event);
}//end interface Control
